class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    @classmethod
    def from_string(cls, info_str):
        """通过字符串创建对象，例如 '张三,20'"""
        name, age = info_str.split(',')
        return cls(name, int(age))

    @classmethod
    def empty(cls):
        """创建一个默认对象"""
        return cls("未命名", 0)

    def info(self):
        print(f"{self.name}（{self.age}岁）")

# 三种不同的“构造方式”
p1 = Person("张三", 20)
p2 = Person.from_string("李四,25")
p3 = Person.empty()

p1.info()  # 张三（20岁）
p2.info()  # 李四（25岁）
p3.info()  # 未命名（0岁）
